VERSION 1.0 CLASS BEGIN MultiUse = -1 'True END Attribute VB_Name = "DLL" Attribute VB_GlobalNameSpace = False Attribute VB_Creatable = True Attribute VB_PredeclaredId = False Attribute VB_Exposed = True Option Explicit Private Sub svrerr(server As Object, errstr As String) server.WriteLine "Error: " & errstr server.statcode = 400 server.retval = 4 End Sub Private Sub Win(server As Object) server.WriteLine "I Win" server.WriteLine "I got it right!" End Sub Private Sub GuessAgain(server As Object, Hi As Long, Lo As Long) Dim servername As Variant Dim script As Variant server.WriteLine "HiLo!" server.WriteLine "My guess is " & CInt((Hi + Lo) / 2) & "

" server.ServerVariable "SERVER_NAME", servername server.ServerVariable "SCRIPT_NAME", script server.WriteLine "Is my guess:

" server.Write "

" server.WriteLine "High

" server.WriteLine "Correct

" server.WriteLine "Low

" server.WriteLine "" server.WriteLine "

" server.WriteLine "" End Sub Public Sub Guess(server As Object) Dim Guess As Long Dim Hi As Long Dim Lo As Long Dim pos As Long Dim ans As String pos = InStr(1, server.QueryString, "HI=", vbTextCompare) If pos = 0 Then svrerr server, "Can't find HI" Exit Sub End If Hi = Val(Mid(server.QueryString, pos + 3)) pos = InStr(1, server.QueryString, "LO=", vbTextCompare) If pos = 0 Then svrerr server, "Can't find LO" Exit Sub End If Lo = Val(Mid(server.QueryString, pos + 3)) If server.ContentLength = 0 Then GuessAgain server, Hi, Lo Else Guess = (Hi + Lo) / 2 pos = InStr(1, server.Content, "ANSWER=", vbTextCompare) If pos = 0 Then svrerr server, "Form error" Exit Sub End If ans = Mid(server.Content, pos + 7, 2) If ans = "OK" Then Win server If ans = "LO" Then GuessAgain server, Hi, Guess If ans = "HI" Then GuessAgain server, Guess, Lo If ans <> "OK" And ans <> "LO" And ans <> "HI" Then svrerr server, "Unknown Response: " & server.Content End If End Sub